.. _cmlIxMapAxes: cmlIxMapAxes ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlIxMapAxes ([in] VT_I4 BoardID, [in] VT_I4 MapIndex, [in] VT_I4 MapMask, [in] VT_I4 IxMode) DESCRIPTION ````````````` - 이 함수는 보간작업을 수행할 축들을 맵번호(Map index)로 맵핑(Mapping)합니다. 맵번호는 다른 “기본보간제어”에 관련된 함수들의 첫번째 매개 변수(媒介變數)로 전달되므로써 각 함수들이 제어해야할 축들에 대한 정보가 간편하게 전달됩니다. 따라서 다른 “기본보간제어”에 관련된 함수들을 사용하기전에 가장 먼저 이 함수를 사용하여 “기본보간제어”에 사용할 축들을 맵핑하여야 합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardId: 사용자가 설정한 디바이스(보드) ID. ▶ MapIndex : 맵번호(Map index), 이 번호 범위는 0 ~ 15 입니다. ▶ MapMask: 축맵에 포함할 축들을 지정할 마스크 값(32비트, BIT0 ~ BIT31). 이 값의 BIT0~BIT31을 이용하여 그룹에 포함할 축들을 지정합니다. 각 비트의 값이 0이면 해당 축(비트의 순서와 일치하는 축)은 배제되는 것이며 1이면 해당 축이 포함되는 것입니다. 이 매개 변수(媒介變數)의 각 비트별 정보는 아래 표와 같습니다. ▶ IxMode: 보간 모드값 입니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 또는 cmlIX_MODE_LINEAR, 직선 보간 1 또는 cmlIX_MODE_CIRCULAR, 원호 보간 2 또는 cmlIX_MODE_HELICARL, 헬리컬 보간 3 또는 cmlIX_MODE_SPLINE, 스플라인 보간 - 예) 8축을 사용하는 경우 .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Bit Number, Meaning BIT0, 0번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT1, 1번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT2, 2번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT3, 3번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT4, 4번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT5, 5번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT6, 6번 축의 포함여부: 0 => 포함안함 / 1 => 포함 BIT7, 7번 축의 포함여부: 0 => 포함안함 / 1 => 포함 RETURN VALUE ````````````` +------------+-----------+ | Value | Meaning | +============+===========+ | 음수 | 수행 실패 | +------------+-----------+ | ERR_NONE | 수행 성공 | +------------+-----------+ EXAMPLE ````````` - X1축과 Y1 축의 직선보간 .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ : // 맵번호 설정 #define MAP0 Long BoardID = 0; 0 cmlIxMapAxes(BoardID, MAP0, 0x3, 0); // 또는cmlIxMapAxes(BoardID, 3, cmX1_MASK | cmY1_MASK, 0); // // 보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함. cmlIxSetSpeedPattern(BoardID, MAP0, cmlFALSE cmlMODE_S, 0, 0, 1000, 10000, 10000); // 보간 이송 거리 리스트 설정 double fDistList[2] = {1000, 1000}; cmlIxLine(BoardID, MAP0, fDistList); .. code-block:: c++ :linenos: Visual Basic „ BoardID = 0, 맵 번호 MAP0 은 이미 선언되어 있다고 가정함 Call IxMapAxes(BoardID, MAP0, &H3, 0) ‘ 또는IxMapAxes(BoardID, MAP0, 0_MASK Or cmY1_MASK, 0) „보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함. Call IxSetSpeedPattern(BoardID, MAP0, cmlFALSE, cmlMODE_S ,0, 0, 1000, 10000, 10000) „ 보간 이송 거리 리스트 설정 fDistList(0) = 1000 fDistList(1) = 1000 IxLine(BoardID, MAP0, fDistList(0)) .. code-block:: c++ :linenos: Delphi // BoardID = 0, 맵 번호 MAP0 은 이미 선언되어 있다고 가정함 cmlIxMapAxes(BoardID, MAP0, $3, $0); // 또는 cmlIxMapAxes(BoardID, 3, 0_MASK or cmY1_MASK, 0); //보간 제어 속도 설정, 두번째 인자는 백터 모드 혹은 마스터 속도 모드를 의미함. cmlIxSetSpeedPattern(BoardID, MAP0, cmlFALSE, cmlMODE_S, 0, 0, 1000, 10000, 10000); // 보간 이송 거리 리스트 설정 fDistList[0] := 1000; fDistList[1] := 1000; cmlIxLine(BoardID, MAP0, @fDistList);